<?php
// Service web du projet Réservations M2L
// Ecrit le 13/10/2014 par Ettore


// déclaration des variables globales pour pouvoir les utiliser aussi dans les fonctions
global $doc;		// le document XML à générer
global $name;
global $ADR_MAIL_EMETTEUR;

// inclusion des paramètres et de la bibliothèque de fonctions ("include_once" peut être remplacé par "require_once")
include_once ('_inc_parametres.php');
include_once ('_inc_fonctions_boite_a_outils.php');

// crée une instance de DOMdocument
$doc = new DOMDocument();

// specifie la version et le type d'encodage
$doc->version = '1.0';
$doc->encoding = 'ISO-8859-1';

// crée un commentaire et l'encode en ISO
$elt_commentaire = $doc->createComment('Service web SupprimerUtilisateur - BTS SIO - Lycée De La Salle - Rennes');
// place ce commentaire à la racine du document XML
$doc->appendChild($elt_commentaire);

// Récupération des données transmises
// la fonction $_GET récupère une donnée passée en paramètre dans l'URL par la méthode GET
if ( empty ($_GET ["nomAdmin"]) == true)  $nomAdmin = "";  else   $nomAdmin = $_GET ["nomAdmin"];
if ( empty ($_GET ["mdpAdmin"]) == true)  $mdpAdmin = "";  else   $mdpAdmin = $_GET ["mdpAdmin"];
if ( empty ($_GET ["name"]) == true)  $name = "";  else   $name = $_GET ["name"];
// si l'URL ne contient pas les données, on regarde si elles ont été envoyées par la méthode POST
// la fonction $_POST récupère une donnée envoyées par la méthode POST
if ( $nomAdmin == "" && $mdpAdmin == "" && $name == "" )
{	if ( empty ($_POST ["nomAdmin"]) == true)  $nomAdmin = "";  else   $nomAdmin = $_POST ["nomAdmin"];
if ( empty ($_POST ["mdpAdmin"]) == true)  $mdpAdmin = "";  else   $mdpAdmin = $_POST ["mdpAdmin"];
if ( empty ($_POST ["name"]) == true)  $name = "";  else   $name = $_POST ["name"];
}

// Contrôle de la présence des paramètres
if ( $nomAdmin == "" || $mdpAdmin == "" || $name == "" )
{	TraitementAnormal ("Erreur : données incomplètes ou incorrectes.");
}
else
{
		// connexion du serveur web à la base MySQL ("include_once" peut être remplacé par "require_once")
		include_once ('_inc_connexion.php');
		include_once ('_inc_fonctions_bdd_reservations.php');
		include_once ('_inc_fonctions_boite_a_outils.php');

		if ( estIdentifie($nomAdmin, $mdpAdmin) == "inconnu" )
			TraitementAnormal("Erreur : authentification incorrecte.");
		else
		{
			if ( existeUtilisateur($name) == false )
			{	TraitementAnormal("Erreur : nom d'utilisateur inconnu.");
			}
			else
			{	
				if (aPasseDesReservations($name) == false){
						TraitementNormal();
						supprimerUtilisateur($name);
				}
				else {
					TraitementAnormal ("Erreur : cet utilisateur a passé des réservations à venir.");
				}
			}
		}
		// ferme la connexion à MySQL :
		mysql_close ($cnx);
	}
// Mise en forme finale
$doc->formatOutput = true;
// renvoie le contenu XML
echo $doc->saveXML();
// fin du programme
exit;

// fonction de traitement des cas anormaux
function TraitementAnormal($msg)
{	// redéclaration des données globales utilisées dans la fonction
	global $doc;
	// crée l'élément 'data' à la racine du document XML
	$elt_data = $doc->createElement('data');
	$doc->appendChild($elt_data);
	// place l'élément 'reponse' juste après l'élément 'data'
	$elt_reponse = $doc->createElement('reponse', $msg);
	$elt_data->appendChild($elt_reponse);
	return;
}

// fonction de traitement des cas normaux
function TraitementNormal()
{	// redéclaration des données globales utilisées dans la fonction
global $doc;
global $name;
global $ADR_MAIL_EMETTEUR;

$email = emailUtilisateur($name);
echo $name. $email;
// envoie un mail de confirmation de l'enregistrement
$sujet = "Vous avez été supprimé du système de réservation de M2L";
$message = "L'administrateur du système de réservations de la M2L vient de supprimer votre compte.\n\n";

$ok = envoyerMail ($email, $sujet, $message, $ADR_MAIL_EMETTEUR);

if ( $ok )
	$msg = "Mail à l'utilisateur a été envoyé.";
else
	$msg = "L'envoi du mail à l'utilisateur a rencontré un problème.";

// crée l'élément 'data' à la racine du document XML
$elt_data = $doc->createElement('data');
$doc->appendChild($elt_data);
// place l'élément 'reponse' juste après l'élément 'data'
$elt_reponse = $doc->createElement('reponse', $msg);
$elt_data->appendChild($elt_reponse);
return;
}
?>